a11y: Use the accessible type
authorBenjamin Otte <otte@redhat.com>
Thu, 15 Dec 2011 18:16:43 +0000 (19:16 +0100)
committerBenjamin Otte <otte@redhat.com>
Fri, 16 Dec 2011 03:53:16 +0000 (04:53 +0100)
gtk/a11y/gtkrenderercellaccessible.c
gtk/a11y/gtkrenderercellaccessible.h
gtk/a11y/gtktreeviewaccessible.c

index f494949659398ce0376ab4b0f66f81ed1ba340a9..2318f9cb68fa3bd530bacc684c9bfd397da51155 100644 (file)
@@ -118,15 +118,16 @@ _gtk_renderer_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
 }
 
 AtkObject *
-_gtk_renderer_cell_accessible_new (void)
+_gtk_renderer_cell_accessible_new (GtkCellRenderer *renderer)
 {
-  GObject *object;
-  AtkObject *atk_object;
+  AtkObject *object;
 
-  object = g_object_new (GTK_TYPE_RENDERER_CELL_ACCESSIBLE, NULL);
+  g_return_val_if_fail (GTK_IS_CELL_RENDERER (renderer), NULL);
 
-  atk_object = ATK_OBJECT (object);
-  atk_object->role = ATK_ROLE_TABLE_CELL;
+  object = g_object_new (_gtk_cell_renderer_get_accessible_type (renderer),
+                         NULL);
 
-  return atk_object;
+  atk_object_set_role (object, ATK_ROLE_TABLE_CELL);
+
+  return object;
 }
index d9d879007f39ec521b79ac68513014ce0ee4ac33..6d11538d3dbcb6f0f9990f61b05c0c58aff0b856 100644 (file)
@@ -51,7 +51,8 @@ struct _GtkRendererCellAccessibleClass
 
 GType      _gtk_renderer_cell_accessible_get_type     (void);
 
-AtkObject *_gtk_renderer_cell_accessible_new          (void);
+AtkObject *_gtk_renderer_cell_accessible_new          (GtkCellRenderer * renderer);
+
 gboolean   _gtk_renderer_cell_accessible_update_cache (GtkRendererCellAccessible *cell,
                                                        gboolean          emit_change_signal);
 
index 93921f62acc8150c81f42a2b55837a80b2b794ac..4da3fff43e7e1274f45f1d87342b70111001a5fc 100644 (file)
@@ -462,7 +462,7 @@ gtk_tree_view_accessible_ref_child (AtkObject *obj,
       else if (GTK_IS_CELL_RENDERER_PIXBUF (renderer))
         child = _gtk_image_cell_accessible_new ();
       else
-        child = _gtk_renderer_cell_accessible_new ();
+        child = _gtk_renderer_cell_accessible_new (renderer);
 
       cell = GTK_CELL_ACCESSIBLE (child);
       renderer_cell = GTK_RENDERER_CELL_ACCESSIBLE (child);